Ext.define('HIT.view.ReportCustomersBill', {
	extend : 'Ext.form.Panel',
	alias : 'widget.reportcustomersbill',
	// 客户对账单
	height : 280,
	width : 500,
	overlapHeader : false,
	preventHeader : true,
	layout : {
		type : 'absolute'
	},
	
	initComponent : function() {
		var me = this;
		//客户代码store
		var custstore = new Ext.data.JsonStore({
			proxy: { 
                type: 'ajax', 
                url : ctx + '/getCustId',
                params : {},
                reader : {
                    type : 'json',
                    totalProperty : '',
                    root : '' 
                } 
			},
			fields : ['text','value'], 
			autoLoad : true 
		});
		//单据号store
		var docnostore = new Ext.data.JsonStore({
			proxy: { 
                type: 'ajax', 
                url : ctx + '/getDocumnetNo',
                params : {},
                reader : {
                    type : 'json',
                    totalProperty : '',
                    root : '' 
                } 
			},
			fields : ['value'], 
			autoLoad : true 
		});
		//发票号store
		var invoicestore = new Ext.data.JsonStore({
			proxy: { 
                type: 'ajax', 
                url : ctx + '/getInvoiceNo',
                params : {},
                reader : {
                    type : 'json',
                    totalProperty : '',
                    root : '' 
                } 
			},
			fields : ['value'], 
			autoLoad : true 
		});
		
		Ext.applyIf(me, {
			items : [ {// 基本框
				xtype : 'fieldset',
				x : 20,
				y : 20,
				height : 290,
				width : 450,
				layout : {
					type : 'absolute'
				},
				title : Share.T('筛选条件'),
				items : [ {
					xtype : 'combo',
					hideTrigger : true,
					fieldLabel : Share.T('客户代码'),
					labelWidth : 55,
					width : 180,
					id : 'cust_id',
					x : 50,
					y : 20,
					valueField : 'text',
					displayField : 'value',
					store : custstore,
					listeners : {
    					beforequery : function(e) {
        					var combo = e.combo;   
        					if(!e.forceAll){   
        						var value = e.query;   
        						combo.store.filterBy(function(record,id){   
        							var text = record.get(combo.displayField); 
        							return (text.indexOf(value)!=-1);   
        						});
        						combo.expand();   
        						return false;   
        					}
    					},
    					select : function(){
    						Ext.getCmp('cust_name').setValue(Ext.getCmp('cust_id').getValue());
    					}
    				}
				}, {
					xtype : 'combo',
					hideTrigger : true,
					fieldLabel : Share.T('客户名称'),
					labelWidth : 55,
					width : 175,
					id : 'cust_name',
					x : 240,
					y : 20,
					valueField : 'value',
					displayField : 'text',
					store : custstore,
					listeners : {
    					beforequery : function(e) {
        					var combo = e.combo;   
        					if(!e.forceAll){   
        						var value = e.query;   
        						combo.store.filterBy(function(record,id){   
        							var text = record.get(combo.displayField); 
        							return (text.indexOf(value)!=-1);   
        						});
        						combo.expand();   
        						return false;   
        					}
    					},
    					select : function(){
    						Ext.getCmp('cust_id').setValue(Ext.getCmp('cust_name').getValue());
    					}
    				}
				}, {
					xtype : 'combo',
					hideTrigger : true,
					fieldLabel : Share.T('单据号'),
					labelWidth : 55,
					width : 180,
					id : 'doc_sno',
					x : 50,
					y : 60,
					store : docnostore,
					valueField : 'value',
					displayField : 'value',
					listeners : {
    					beforequery : function(e) {
        					var combo = e.combo;   
        					if(!e.forceAll){   
        						var value = e.query;   
        						combo.store.filterBy(function(record,id){   
        							var text = record.get(combo.displayField); 
        							return (text.indexOf(value)!=-1);   
        						});
        						combo.expand();   
        						return false;   
        					}
    					}
    				}
				}, {
					xtype : 'combo',
					hideTrigger : true,
					labelWidth : 55,
					width : 175,
					id : 'doc_eno',
					x : 240,
					y : 60,
					fieldLabel : '~',
					labelSeparator : ' ',
					store : docnostore,
					valueField : 'value',
					displayField : 'value',
					listeners : {
    					beforequery : function(e) {
        					var combo = e.combo;   
        					if(!e.forceAll){   
        						var value = e.query;   
        						combo.store.filterBy(function(record,id){   
        							var text = record.get(combo.displayField); 
        							return (text.indexOf(value)!=-1);   
        						});
        						combo.expand();   
        						return false;   
        					}
    					}
    				}
				}, {
					xtype : 'datefield',
					editable : false,
					format : "Y-m-d",
					fieldLabel : Share.T('单据日期'),
					labelWidth : 55,
					id : 'docno_sdate',
					width : 180,
					x : 50,
					y : 100
				}, {
					xtype : 'datefield',
					labelWidth : 55,
					format : "Y-m-d",
					editable : false,
					id : 'docno_edate',
					msgTarget  : 'side',
					width : 175,
					x : 240,
					y : 100,
					fieldLabel : '~',
					labelSeparator : ' '
				}, {
					xtype : 'combo',
					hideTrigger : true,
					fieldLabel : Share.T('发票号码'),
					labelWidth : 55,
					width : 180,
					id : 'invoice_sno',
					x : 50,
					y : 140,
					store : invoicestore,
					valueField : 'value',
					displayField : 'value',
					listeners : {
						expand : function(e) {
							this.store.load();
						},
    					beforequery : function(e) {
        					var combo = e.combo;   
        					if(!e.forceAll){   
        						var value = e.query;   
        						combo.store.filterBy(function(record,id){   
        							var text = record.get(combo.displayField); 
        							return (text.indexOf(value)!=-1);   
        						});
        						combo.expand();   
        						return false;   
        					}
    					}
    				}
				}, {
					xtype : 'combo',
					hideTrigger : true,
					labelWidth : 55,
					width : 175,
					id : 'invoice_eno',
					x : 240,
					y : 140,
					tabIndex : 10,
					fieldLabel : '~',
					labelSeparator : ' ',
					store : invoicestore,
					valueField : 'value',
					displayField : 'value',
					listeners : {
						expand : function(e) {
							this.store.load();
						},
    					beforequery : function(e) {
        					var combo = e.combo;   
        					if(!e.forceAll){   
        						var value = e.query;   
        						combo.store.filterBy(function(record,id){   
        							var text = record.get(combo.displayField); 
        							return (text.indexOf(value)!=-1);   
        						});
        						combo.expand();   
        						return false;   
        					}
    					}
    				}
				}, {
					xtype : 'datefield',
					editable : false,
					fieldLabel : Share.T('发票日期'),
					id : 'invono_sdate',
					format : "Y-m-d",
					labelWidth : 55,
					width : 180,
					x : 50,
					y : 180
				}, {
					xtype : 'datefield',
					labelWidth : 55,
					format : "Y-m-d",
					id : 'invono_edate',
					editable : false,
					msgTarget  : 'side',
					width : 175,
					x : 240,
					y : 180,
					fieldLabel : '~',
					labelSeparator : ' ',
					msgTarget : 'side',
					regexText : ''
				} ]
			}, {
				xtype : 'button',
				text : Share.T('确定'),
				id : 'report-customerbill-yes',
				x : 310,
				y : 265,
				width : 65
			}, {
				xtype : 'button',
				text : Share.T('清空'),
				x : 390,
				y : 265,
				width : 65,
				handler : function() {
					this.up('form').getForm().reset();
				}
			} ]
		});
		me.callParent(arguments);
	}
});